/**
 * 环境配置验证工具
 */

import { getCurrentEnv, getApiBaseURL, getTsToken } from './env';

/**
 * 验证环境配置
 */
export const validateEnvConfig = (): { isValid: boolean; errors: string[] } => {
  const errors: string[] = [];
  
  // 检查环境变量
  const env = getCurrentEnv();
  if (!env) {
    errors.push('环境变量 VITE_APP_ENV 未设置');
  }
  
  // 检查API基础URL
  const baseURL = getApiBaseURL();
  if (!baseURL) {
    errors.push('API基础URL未设置');
  } else if (!baseURL.startsWith('http')) {
    errors.push('API基础URL格式不正确');
  }
  
  // 检查tsToken（可选，但建议设置）
  const tsToken = getTsToken();
  if (!tsToken) {
    console.warn('tsToken未设置，某些功能可能无法正常使用');
  }
  
  return {
    isValid: errors.length === 0,
    errors
  };
};

/**
 * 打印环境配置信息
 */
export const printEnvInfo = (): void => {
  console.log('=== 环境配置信息 ===');
  console.log('当前环境:', getCurrentEnv());
  console.log('API基础URL:', getApiBaseURL());
  console.log('tsToken:', getTsToken() ? '已设置' : '未设置');
  console.log('==================');
};

/**
 * 检查环境配置并打印结果
 */
export const checkEnvConfig = (): boolean => {
  const { isValid, errors } = validateEnvConfig();
  
  if (isValid) {
    console.log('✅ 环境配置验证通过');
    printEnvInfo();
  } else {
    console.error('❌ 环境配置验证失败:');
    errors.forEach(error => console.error(`  - ${error}`));
  }
  
  return isValid;
};
